Today's printers utilize a wide range of different printing technologies to make marks on paper, and new approaches are being developed continually. Each technology has its own unique print quality characteristics, and as a result, different printers typically yield different output quality when given the same input data.
In the case of traditional printing, much of the data submitted to a printer was orthographic in origin (computer generated). Typically, orthographic data is described using some sort of PDL (page description language), wherein commands are sent to a RIP (raster image processor) that in return create/render device specific rasters for sending to the print engine. Things like fonts and line graphics are ‘tuned’ for the specific target printer, and once printed, the raster information is discarded. In this way, the final data that a printer gets is optimized so as to get reasonably consistent output from printers with very different characteristics.
However, with the growing popularity of scanners, digital cameras, and print ready masters used in print-on-demand applications, there is a tremendous amount of reprographic (scanned/pre-rasterized images) data also being sent directly to printers today. Because of the desire to achieve consistent quality from different printers for this type of data as well, many standards have been introduced to allow device independent encoding of reprographic data and/or sophisticated calibration/compensation techniques to quantify and adjust for the inherent differences in various digital imaging system components. These approaches tend to require support from the underlying operating system(s) and extensive computation to achieve the desired goal of device interoperability. Additionally, most of these methodologies do not map easily to a distributed, component based imaging system comprised of diverse products from different vendors.
The present invention seeks to relegate the responsibility for this image quality compensation to a specialized, dedicated service. In this manner, the other components of a distributed system do not have to take any coordinated responsibility for managing the system level image quality factors, and do not necessarily need to conform to any particular standards. The service can use a variety of techniques to keep track of or determine the imaging characteristics of different components in the systems and determine the best way to adjust an image to provide consistent, predicable image quality interoperability between them.